/*
 * 	根据Cookie，服务器响应判断用户登录状态，若用户没有登录状态则跳转到登录页面。
 *  1. 使用之前必须使用ajax.js
 *  2. 外部必须声明data变量。
 * 	使用：
 * 	1. 外部引用该JS文件即自动执行dLogin()
 * 	2. isLogin()：返回用户是否登录，布尔值。
 * 
 */
function dLogin() {
	// 获取sno和pwd，发送至服务器校验
	let value = getCookieValue('userCookie');
	// 若没有值则为未登录状态
	if(!value) {
		location.replace('/page/user/login.html');
		return;
	}
	// 若有值，传至服务器校验该值的合法性
	let snoValue = value.split('#_TPLAssociation_#')[0];
	let pwdValue = value.split('#_TPLAssociation_#')[1];
	ajax({
		type: 'POST',
		url: '/user/isLogin',
		async: false,
		data: {
			sno: snoValue,
			pwd: pwdValue
		},
		success: function(xhr) {
			let arg = JSON.parse(xhr.responseText);
			if(arg.code == 200 && arg.message == 'success') {
				data = arg.data;
			} else {
				location.replace('/page/user/login.html');
			}	
		}
	});
}
// 从cookie中根据key值去value
function getCookieValue(key) {
	let cookie = document.cookie;
	if(cookie.length > 0) {
		let startIndex = cookie.indexOf(key);
		if(startIndex != -1) {
			// 存在key
			let endIndex = cookie.indexOf(';', startIndex + key.length + 1)
			if(endIndex == -1) {
				// 说明是最后一个
				endIndex = cookie.length;
			}
			let value = cookie.substring(startIndex + key.length + 1, endIndex);
			return unescape(value.trim());
		}
	}
	// 若没有cookie或找不到key则返回null
	return null;
}
//执行
dLogin();